import { User } from "./User"

export class UserDB{
	
	_map = new Map()
	
	master = ''
	
	
	getUser(userId){
		if(!this._map.has(userId)){
			const user = User.creatNullIns({userId})
			user.fetchOrigin()
			this.setUser(user)
		}
		return this._map.get(userId)
	}
	
	setUser(user){
		this._map.set(user.userId,user)
	}
	
	delUser(userId){
		this._map.delete(userId)
	}
	
	getUsers(ids=[]){
		const users = ids.map((userId)=>{
			return this.getUser(userId)
		})
		return users
	}
	
	setUsers(users){
		users.forEach((user)=>{
			return this.setUser(user)
		})
	}
	
	delUsers(ids){
		ids.map((userId)=>{
			return this.delUser(userId)
		})
	}
	
	clear(){
		this._map.clear()
	}
	
	setMaster(userId){
		this.master = userId
	}
}

